package RRHH_Modelo;

import Conexion.Conexion;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class RHH_CUENTAS {

    private int ID;
    private int ID_USUARIO;
    private String CUENTA;
    private String BANCO;
    private Conexion con = null;

    public RHH_CUENTAS(Conexion con) {
        this.con = con;
    }

    public RHH_CUENTAS(int ID, int ID_USUARIO, String CUENTA, String BANCO) {
        this.ID = ID;
        this.ID_USUARIO = ID_USUARIO;
        this.CUENTA = CUENTA;
        this.BANCO = BANCO;
    }

    public int Insertar() throws SQLException {
        String consulta = "insert into BROKER.RHH_CUENTAS (ID, ID_USUARIO, CUENTA, BANCO) VALUES (" + ID + "," + ID_USUARIO + ",'" + CUENTA + "','" + BANCO + "')";
        con.EjecutarSentencia(consulta);
        consulta = "select BROKER.RHH_CUENTAS_SEQ.currval as ID from dual";
        ResultSet rs = con.EjecutarConsulta(consulta);
        rs.next();
        return rs.getInt("ID");
    }

    public boolean EliminarXid() throws SQLException {
        String consulta = "delete from BROKER.RHH_CUENTAS where ID= " + getID();
        con.EjecutarSentencia(consulta);
        return true;
    }
    public boolean EliminarXidUsuario(int id) throws SQLException {
        String consulta = "delete from BROKER.RHH_CUENTAS where ID_USUARIO=" +id;
        con.EjecutarSentencia(consulta);
        return true;
    }

    public List<RHH_CUENTAS> Todos() throws SQLException {
        String consulta = "select * from BROKER.RHH_CUENTAS";
        ResultSet rs = con.EjecutarConsulta(consulta);
        List<RHH_CUENTAS> lista = Cargar(rs);
        return lista;
    }
    public List<RHH_CUENTAS> buscarxid(int id) throws SQLException {
        String consulta = "select * from BROKER.RHH_CUENTAS where ID_USUARIO="+id;
        ResultSet rs = con.EjecutarConsulta(consulta);
        List<RHH_CUENTAS> lista = Cargar(rs);
        return lista;
    }

    public List<RHH_CUENTAS> Cargar(ResultSet rs) throws SQLException {
        List<RHH_CUENTAS> lista = new ArrayList<RHH_CUENTAS>();
        while (rs.next()) {
            RHH_CUENTAS objeto = new RHH_CUENTAS(con);
            objeto.setID(rs.getInt("ID"));
            objeto.setID_USUARIO(rs.getInt("ID_USUARIO"));
            objeto.setCUENTA(rs.getString("CUENTA"));
            objeto.setBANCO(rs.getString("BANCO"));
            lista.add(objeto);
        }
        return lista;
    }

    public int getID() {
        return ID;
    }

    public void setID(int ID) {
        this.ID = ID;
    }

    public int getID_USUARIO() {
        return ID_USUARIO;
    }

    public void setID_USUARIO(int ID_USUARIO) {
        this.ID_USUARIO = ID_USUARIO;
    }

    public String getCUENTA() {
        return CUENTA;
    }

    public void setCUENTA(String CUENTA) {
        this.CUENTA = CUENTA;
    }

    public String getBANCO() {
        return BANCO;
    }

    public void setBANCO(String BANCO) {
        this.BANCO = BANCO;
    }

    public Conexion getCon() {
        return this.con;
    }

    public void setCon(Conexion con) {
        this.con = con;
    }
}
